1. Field of the Invention
The present invention relates generally to computer network communications, and more specifically to a system for performing a routing function between devices attached to the network.
2. Description of the Prior Art
Computer system networks continue to increase in popularity. This is, in large part, because they allow applications and users running on many different systems to communicate with each other, providing data and resource sharing. Networks may be limited to a few desktop systems located in close physical proximity, or may include thousands of systems of all sizes connected into a worldwide network. In general, networks are flexible, so they can be adapted to suit the needs of the users.
One important type of network generally is a peer to peer network. With such a network topology each node of the network is considered to be equal with the others. Each node can act as an intermediate node in a communications session, routing sessions between other network nodes. This excepts terminal nodes, which are not required to transmit data between two separate, adjacent systems as part of a communications link between them. A communications session initiated by any node of the network is routed to the nearest node, which selects the routing to be used to the next node in a communications link. One example of such a powerful, flexible system is SYSTEM NETWORK ARCHITECTURE (SNA), a network architecture defined by International Business Machines Corporation, and used widely throughout the world.
In a typical network, local networks, or subarea networks, are often connected to the remainder of the network through a single, fully featured, network node. This network node must have full network capabilities, but terminal nodes, such as work stations, which are connected to it need not have such capability. Even if only a few low end work stations in a single physical location are connected to a wide area network, a system capable of supporting full network node functions must typically be placed locally to allow such network access.
The full network node must be a relatively powerful system capable of supporting a wide variety of network functions. For example, a SNA network node must be capable of acting as an intermediate node in a session between two nodes which may be connected through a large number of additional intermediate nodes. The network node maintains a route selection table for many of the logical units in the network, and has the capability to search for and determine the location of any node given its logical unit identifier. When a logical unit requests a session with another logical unit, a network node receiving such request must locate the target logical unit, in its route selection table or by searching for it, and establish communication sessions with both the logical unit making the request, and a companion session with another adjacent node. The other adjacent node may be the target logical unit, or it may be another intermediate node used to establish a link to the target logical unit.
Once the session has been set up between two logical units, the network node routes incoming data to the appropriate outgoing communications link. Various services are provided by the network node. These can include, for example, adaptive pacing of data, renegotiation of bind values, and similar services The numerous functions required of a network node are well documented, and well known to those skilled in the art.
The cost of providing a system capable of supporting full network node functions is high relative to low end workstations typically connected to the network as terminal nodes. Use of a dedicated network node for the purpose of simply attaching a small number of workstations to a network is often wasteful. However, it is often not possible to connect a small group of physically proximate workstations to a network node located elsewhere. The nearest network node may be physically located several hundred miles away and the cost of maintaining separate communications links to it from each workstation can be prohibitive.
It would be desirable to provide a system which can easily and inexpensively be used to attach workstations to a network. It would be further desirable if a relatively simple system already used to connect nonintelligent peripherals to a network can be modified to perform the desired functions. It would also be desirable for the connections made by such system to be transparent to both the low end workstations and the network, so that, to both the workstation and the network, it appears that a direct link has been made.